package com.mmall.concurrency.example.singleton;

import com.mmall.concurrency.annoation.ThreadSafe;
import lombok.extern.slf4j.Slf4j;

/**
 * 饿汉模式
 * 单例实例在类装载时进行创建
 */
@ThreadSafe
@Slf4j
public class SingletonExample6 {

    //私有构造函数
    private SingletonExample6(){

    }

    //单例对象
    private static SingletonExample6 instance = null;

    static {
        instance = new SingletonExample6();

    }


    //静态的工厂方法
    public static SingletonExample6 getInstance(){

        return instance;
    }

    public static void main(String[] args) {
        log.info("instance:{}",getInstance().hashCode());
        log.info("instance:{}",getInstance().hashCode());

    }
}
